package com.calabar.phm.etl.operator.api;

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;


/**
 * @Author zmc <mingcheng.zhang@cdcalabar.com>
 * @Date 17-5-18 下午3:15
 * @Version v2.0
 * @Des 输入算子基类
 */
public interface InputTransformer {

    /**
     * 采用Spark提供的上下文（HiveContext）和配置（JavaSparkContext）
     * ，将不同数据源的数据转化为DataFrame
     *
     * @param session
     * @return
     * @throws Exception
     */
    Dataset<Row> transform(SparkSession session) throws Exception;
}
